/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.discount.api.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.util.Date;

import com.medusa.gruul.common.data.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 客户优惠劵
 * </p>
 *
 * @author lcysike
 * @since 2019-12-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_member_coupon")
@ApiModel(value="MemberCoupon对象", description="客户优惠劵")
public class MemberCoupon extends BaseEntity {

	private static final long serialVersionUID = 1L;

	@TableId(value = "id", type = IdType.AUTO)
	private Long id;

	/**
	 * 用户id
	 */
	@ApiModelProperty(value = "用户id")
	@TableField("user_id")
	private String userId;

	/**
	 * 优惠劵id
	 */
	@ApiModelProperty(value = "优惠劵id")
	@TableField("coupon_id")
	private Long couponId;

	/**
	 * 优惠劵名称
	 */
	@ApiModelProperty(value = "优惠劵名称")
	@TableField("name")
	private String name;

	/**
	 * 有效类型： 0-固定时间  1-领劵立即生效
	 */
	@ApiModelProperty(value = "有效类型： 0-固定时间  1-领劵立即生效")
	@TableField("effective_type")
	private Integer effectiveType;

	/**
	 * 有效天数
	 */
	@ApiModelProperty(value = "有效天数")
	@TableField("effective_days")
	private Integer effectiveDays;

	/**
	 * 开始时间
	 */
	@ApiModelProperty(value = "开始时间")
	@TableField("start_time")
	private Date startTime;

	/**
	 * 结束时间
	 */
	@ApiModelProperty(value = "结束时间")
	@TableField("end_time")
	private Date endTime;

	/**
	 * 适用商品：  0-全部商品参与  1-指定商品参与  2-指定商品不参与
	 */
	@ApiModelProperty(value = "适用商品：  0-全部商品参与  1-指定商品参与  2-指定商品不参与")
	@TableField("product_type")
	private Integer productType;

	/**
	 * 优惠劵类型：  0-无门槛折扣劵  1-无门槛现金劵  2-满折劵  3-满减劵
	 */
	@ApiModelProperty(value = "优惠劵类型：  0-无门槛折扣劵  1-无门槛现金劵  2-满折劵  3-满减劵")
	@TableField("coupon_type")
	private Integer couponType;

	/**
	 * 优惠折扣
	 */
	@ApiModelProperty(value = "优惠折扣")
	@TableField("discount")
	private BigDecimal discount;

	/**
	 * 优惠金额
	 */
	@ApiModelProperty(value = "优惠金额")
	@TableField("discount_amount")
	private BigDecimal discountAmount;

	/**
	 * 满足条件金额
	 */
	@ApiModelProperty(value = "满足条件金额")
	@TableField("condition_amount")
	private BigDecimal conditionAmount;

	/**
	 * 发行数量
	 */
	@ApiModelProperty(value = "发行数量")
	@TableField("issue_quantity")
	private Integer issueQuantity;

	/**
	 * 限领(张/人)
	 */
	@ApiModelProperty(value = "限领(张/人)")
	@TableField("limit_quantity")
	private Integer limitQuantity;

	/**
	 * 优惠劵状态：  0-未开始  1-进行中  2-已结束
	 */
	@ApiModelProperty(value = "优惠劵状态：  0-未开始  1-进行中  2-已结束")
	@TableField("status")
	private Integer status;

	/**
	 * 优惠劵使用状态：  0-未使用  1-已使用  2-已过期
	 */
	@ApiModelProperty(value = "优惠劵使用状态：  0-未使用  1-已使用  2-已过期")
	@TableField("use_status")
	private Integer useStatus;

	/**
	 * 赠送类型：  0-全民活动  1-赠予客户
	 */
	@ApiModelProperty(value = "赠送类型：  0-全民活动  1-赠予客户  2-积分优惠劵")
	@TableField("give_type")
	private Integer giveType;

	@ApiModelProperty(value = "配置规则  0未参与回收返券  1参与")
	@TableField("recycle_activity")
	private Integer recycleActivity;

	/**
	 * 所需积分
	 */
	@ApiModelProperty(value = "所需积分")
	@TableField("integral")
	private Integer integral;

}
